In many business organizations, large scale server applications are utilized by multiple user groups (e.g., a human resources group, an accounting group, etc.) for interacting among one another and for performing various functions. As changes in the number of users (or groups of users) using server applications in an organization occur, “scaling” may need to be implemented to accommodate the changes. One scaling approach is to add more power (i.e., processors machines and/or memory) to support a given entity (i.e., users or applications). This is known as “scaling up”. Another scaling approach is to add more machines (i.e., servers) to support a given entity (i.e., users or applications). This is known as “scaling out.” A third approach is a combination of the first two approaches (i.e., “scaling up” and “scaling out”). Current implementations of the aforementioned scaling approaches however, suffer from a number of drawbacks. For example, when scaling out a large number of machines (e.g., adding hundreds of machines to an existing cluster), current implementations based on full mesh heartbeats, will fail to scale out as the number of machines increases. It is with respect to these considerations and others that the various embodiments of the present invention have been made.